package org.aeon.gamechatnest.service;

import org.aeon.gamechatnest.dto.UserVo;
import org.aeon.gamechatnest.pojo.ServerMembers;

import java.util.List;

/**
 * @author : Liys 2024/5/13 14:54
 */
public interface ServerMembersService {
    /**
     * 当前登录用户加入服务器
     *
     * @param serverMembers 服务器id
     * @return
     */
    boolean join(ServerMembers serverMembers);

    /**
     * 通过服务器和用户id删除服务器成员
     *
     * @param serverId
     * @param userId
     * @return
     */
    boolean removeById(Long serverId, Long userId);

    /**
     * 修改服务器下用户的备注名
     *
     * @param serverMembers
     * @return
     */
    boolean modifyNoteName(ServerMembers serverMembers);

    /**
     * 通过服务器id查询指定服务器下的所有用户
     *
     * @param serverId 服务器id
     * @return 用户视图列表
     */
    List<UserVo> getAllByServerId(Long serverId);

    /**
     * 通过服务器id查询指定服务器下的所有用户
     *
     * @param serverId 服务器id
     * @return 用户视图列表
     */
    List<Long> getUserIdByServerId(Long serverId);


    List<UserVo> getOnLineByServerId(Long serverId);
}
